package it.pecuswap.backend.entities;

// Generated 31-dic-2014 16.28.33 by Hibernate Tools 4.0.0

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * AnagraficaUtenti generated by hbm2java
 */
@Entity
@Table(name = "anagrafica_utenti")
public class AnagraficaUtenti implements java.io.Serializable {

	private static final long serialVersionUID = 1534452279275305778L;
	private long idAnagraficaUtente;
	private Comuni comuni;
	private Date dtNascita;
	private String codiceFiscale;
	private String partitaIva;
	private String email;
	private String flVisibilita;
	private Set<Utenti> utentis = new HashSet<Utenti>(0);

	public AnagraficaUtenti() {
	}

	public AnagraficaUtenti(long idAnagraficaUtente) {
		this.idAnagraficaUtente = idAnagraficaUtente;
	}

	public AnagraficaUtenti(long idAnagraficaUtente, Comuni comuni,
			Date dtNascita, String codiceFiscale, String partitaIva,
			String email, String flVisibilita, Set<Utenti> utentis) {
		this.idAnagraficaUtente = idAnagraficaUtente;
		this.comuni = comuni;
		this.dtNascita = dtNascita;
		this.codiceFiscale = codiceFiscale;
		this.partitaIva = partitaIva;
		this.email = email;
		this.flVisibilita = flVisibilita;
		this.utentis = utentis;
	}

	@Id
	@Column(name = "id_anagrafica_utente", unique = true, nullable = false)
	public long getIdAnagraficaUtente() {
		return this.idAnagraficaUtente;
	}

	public void setIdAnagraficaUtente(long idAnagraficaUtente) {
		this.idAnagraficaUtente = idAnagraficaUtente;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_comune_nascita")
	public Comuni getComuni() {
		return this.comuni;
	}

	public void setComuni(Comuni comuni) {
		this.comuni = comuni;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "dt_nascita", length = 29)
	public Date getDtNascita() {
		return this.dtNascita;
	}

	public void setDtNascita(Date dtNascita) {
		this.dtNascita = dtNascita;
	}

	@Column(name = "codice_fiscale")
	public String getCodiceFiscale() {
		return this.codiceFiscale;
	}

	public void setCodiceFiscale(String codiceFiscale) {
		this.codiceFiscale = codiceFiscale;
	}

	@Column(name = "partita_iva")
	public String getPartitaIva() {
		return this.partitaIva;
	}

	public void setPartitaIva(String partitaIva) {
		this.partitaIva = partitaIva;
	}

	@Column(name = "email")
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "fl_visibilita")
	public String getFlVisibilita() {
		return this.flVisibilita;
	}

	public void setFlVisibilita(String flVisibilita) {
		this.flVisibilita = flVisibilita;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "anagraficaUtenti")
	public Set<Utenti> getUtentis() {
		return this.utentis;
	}

	public void setUtentis(Set<Utenti> utentis) {
		this.utentis = utentis;
	}

}
